EJS (Embedded JavaScript Templates) هي لغة قوالب تُستخدم مع Node.js لإنشاء صفحات HTML ديناميكية. تسمح لك بدمج JavaScript مباشرة داخل HTML، مما يجعلها أداة قوية لبناء تطبيقات الويب.
npm install ejs
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', { title: 'مرحبًا بكم' });
});
app.listen(3000, () => {
console.log('الخادم يعمل على http://localhost:3000');
});
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8">
<title><%= title %></title>
</head>
<body>
<h1><%= title %></h1>
<p>مرحبًا بكم في موقعنا!</p>
</body>
</html>
app.get('/', (req, res) => {
res.render('index', { title: 'مرحبًا بكم' });
});
<h1><%= title %></h1>
<% if (user) { %>
<p>مرحبًا، <%= user.name %></p>
<% } %>
<%- someHTML %>
<%- include('header') %>
<h1>مرحبًا بكم</h1>
<%- include('footer') %>
<%- include('header', { title: 'مرحبًا بكم' }) %>
<ul>
<% users.forEach(user => { %>
<li><%= user.name %></li>
<% }) %>
</ul>
<% if (isLoggedIn) { %>
<p>مرحبًا، <%= user.name %></p>
<% } else { %>
<p>يرجى تسجيل الدخول</p>
<% } %>
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8">
<title><%= title %></title>
</head>
<body>
<%- include('header') %>
<%- body %>
<%- include('footer') %>
</body>
</html>
<% layout('layout') %>
<h1>مرحبًا بكم</h1>
<form action="/submit" method="POST">
<input type="text" name="username" placeholder="اسم المستخدم">
<button type="submit">إرسال</button>
</form>
app.post('/submit', (req, res) => {
const username = req.body.username;
res.send(`مرحبًا، ${username}`);
});
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use((req, res, next) => {
res.locals.user = req.user;
next();
});